package models

import (
	"github.com/guregu/null"
	"gorm.io/gorm"
)

type Favorite struct {
	gorm.Model
	Id      int `gorm:"column:id" json:"id"`
	UserId  int `gorm:"column:user_id" json:"userId"`
	Type    int `gorm:"column:type" json:"type"`
	TypeId  int `gorm:"column:type_id" json:"typeId"`
	IsCheck int `gorm:"column:is_check" json:"isCheck"`
}

type FavoriteListVo struct {
	gorm.Model
	Id         int    `gorm:"column:id" json:"id"`
	UserName   string `gorm:"column:username" json:"userName"`
	Type       int    `gorm:"column:type" json:"type"`
	TypeId     int    `gorm:"column:type_id" json:"typeId"`
	Content    string `gorm:"-" json:"content"`
	IsCheck    int    `gorm:"column:is_check" json:"isCheck"`
	CreateTime MyTime `gorm:"column:created_at" json:"createTime"`
	UpdateTime MyTime `gorm:"column:updated_at" json:"updateTime"`
}

type SearchFavoriteDto struct {
	Username  string   `gorm:"column:username" json:"userName"`
	Type      null.Int `gorm:"column:type" json:"type"`
	IsCheck   null.Int `gorm:"column:is_check" json:"isCheck"`
	EndTime   MyTime   `gorm:"column:end_time" json:"endTime"`
	StartTime MyTime   `gorm:"column:start_time" json:"startTime"`
}

type FavoriteIsCheckDto struct {
	Id      int `gorm:"column:id" json:"id"`
	IsCheck int `gorm:"column:is_check" json:"isCheck"`
}

func (Favorite) TableName() string {
	return "t_favorite"
}

func (FavoriteListVo) TableName() string {
	return "t_favorite"
}
